", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value") }) || jb("value", function (a, b, c) { return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue }), ib(function (a) { return null == a.getAttribute("disabled") }) || jb(L, function (a, b, c) { var d; return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null }), fb }(a); m.find = s, m.expr = s.selectors, m.expr[":"] = m.expr.pseudos, m.unique = s.uniqueSort, m.text = s.getText, m.isXMLDoc = s.isXML, m.contains = s.contains; var t = m.expr.match.needsContext, u = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, v = /^.[^:#\[\.,]*$/; function w(a, b, c) { if (m.isFunction(b)) return m.grep(a, function (a, d) { return !!b.call(a, d, a) !== c }); if (b.nodeType) return m.grep(a, function (a) { return a === b !== c }); if ("string" == typeof b) { if (v.test(b)) return m.filter(b, a, c); b = m.filter(b, a) } return m.grep(a, function (a) { return m.inArray(a, b) >= 0 !== c }) } m.filter = function (a, b, c) { var d = b[0]; return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? m.find.matchesSelector(d, a) ? [d] : [] : m.find.matches(a, m.grep(b, function (a) { return 1 === a.nodeType })) }, m.fn.extend({ find: function (a) { var b, c = [], d = this, e = d.length; if ("string" != typeof a) return this.pushStack(m(a).filter(function () { for (b = 0; e > b; b++)if (m.contains(d[b], this)) return !0 })); for (b = 0; e > b; b++)m.find(a, d[b], c); return c = this.pushStack(e > 1 ? m.unique(c) : c), c.selector = this.selector ? this.selector + " " + a : a, c }, filter: function (a) { return this.pushStack(w(this, a || [], !1)) }, not: function (a) { return this.pushStack(w(this, a || [], !0)) }, is: function (a) { return !!w(this, "string" == typeof a && t.test(a) ? m(a) : a || [], !1).length } }); var x, y = a.document, z = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, A = m.fn.init = function (a, b) { var c, d; if (!a) return this; if ("string" == typeof a) { if (c = "<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && a.length >= 3 ? [null, a, null] : z.exec(a), !c || !c[1] && b) return !b || b.jquery ? (b || x).find(a) : this.constructor(b).find(a); if (c[1]) { if (b = b instanceof m ? b[0] : b, m.merge(this, m.parseHTML(c[1], b && b.nodeType ? b.ownerDocument || b : y, !0)), u.test(c[1]) && m.isPlainObject(b)) for (c in b) m.isFunction(this[c]) ? this[c](b[c]) : this.attr(c, b[c]); return this } if (d = y.getElementById(c[2]), d && d.parentNode) { if (d.id !== c[2]) return x.find(a); this.length = 1, this[0] = d } return this.context = y, this.selector = a, this } return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : m.isFunction(a) ? "undefined" != typeof x.ready ? x.ready(a) : a(m) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), m.makeArray(a, this)) }; A.prototype = m.fn, x = m(y); var B = /^(?:parents|prev(?:Until|All))/, C = { children: !0, contents: !0, next: !0, prev: !0 }; m.extend({ dir: function (a, b, c) { var d = [], e = a[b]; while (e && 9 !== e.nodeType && (void 0 === c || 1 !== e.nodeType || !m(e).is(c))) 1 === e.nodeType && d.push(e), e = e[b]; return d }, sibling: function (a, b) { for (var c = []; a; a = a.nextSibling)1 === a.nodeType && a !== b && c.push(a); return c } }), m.fn.extend({ has: function (a) { var b, c = m(a, this), d = c.length; return this.filter(function () { for (b = 0; d > b; b++)if (m.contains(this, c[b])) return !0 }) }, closest: function (a, b) { for (var c, d = 0, e = this.length, f = [], g = t.test(a) || "string" != typeof a ? m(a, b || this.context) : 0; e > d; d++)for (c = this[d]; c && c !== b; c = c.parentNode)if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && m.find.matchesSelector(c, a))) { f.push(c); break } return this.pushStack(f.length > 1 ? m.unique(f) : f) }, index: function (a) { return a ? "string" == typeof a ? m.inArray(this[0], m(a)) : m.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (a, b) { return this.pushStack(m.unique(m.merge(this.get(), m(a, b)))) }, addBack: function (a) { return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) } }); function D(a, b) { do a = a[b]; while (a && 1 !== a.nodeType); return a } m.each({ parent: function (a) { var b = a.parentNode; return b && 11 !== b.nodeType ? b : null }, parents: function (a) { return m.dir(a, "parentNode") }, parentsUntil: function (a, b, c) { return m.dir(a, "parentNode", c) }, next: function (a) { return D(a, "nextSibling") }, prev: function (a) { return D(a, "previousSibling") }, nextAll: function (a) { return m.dir(a, "nextSibling") }, prevAll: function (a) { return m.dir(a, "previousSibling") }, nextUntil: function (a, b, c) { return m.dir(a, "nextSibling", c) }, prevUntil: function (a, b, c) { return m.dir(a, "previousSibling", c) }, siblings: function (a) { return m.sibling((a.parentNode || {}).firstChild, a) }, children: function (a) { return m.sibling(a.firstChild) }, contents: function (a) { return m.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : m.merge([], a.childNodes) } }, function (a, b) { m.fn[a] = function (c, d) { var e = m.map(this, b, c); return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = m.filter(d, e)), this.length > 1 && (C[a] || (e = m.unique(e)), B.test(a) && (e = e.reverse())), this.pushStack(e) } }); var E = /\S+/g, F = {}; function G(a) { var b = F[a] = {}; return m.each(a.match(E) || [], function (a, c) { b[c] = !0 }), b } m.Callbacks = function (a) { a = "string" == typeof a ? F[a] || G(a) : m.extend({}, a); var b, c, d, e, f, g, h = [], i = !a.once && [], j = function (l) { for (c = a.memory && l, d = !0, f = g || 0, g = 0, e = h.length, b = !0; h && e > f; f++)if (h[f].apply(l[0], l[1]) === !1 && a.stopOnFalse) { c = !1; break } b = !1, h && (i ? i.length && j(i.shift()) : c ? h = [] : k.disable()) }, k = { add: function () { if (h) { var d = h.length; !function f(b) { m.each(b, function (b, c) { var d = m.type(c); "function" === d ? a.unique && k.has(c) || h.push(c) : c && c.length && "string" !== d && f(c) }) }(arguments), b ? e = h.length : c && (g = d, j(c)) } return this }, remove: function () { return h && m.each(arguments, function (a, c) { var d; while ((d = m.inArray(c, h, d)) > -1) h.splice(d, 1), b && (e >= d && e-- , f >= d && f--) }), this }, has: function (a) { return a ? m.inArray(a, h) > -1 : !(!h || !h.length) }, empty: function () { return h = [], e = 0, this }, disable: function () { return h = i = c = void 0, this }, disabled: function () { return !h }, lock: function () { return i = void 0, c || k.disable(), this }, locked: function () { return !i }, fireWith: function (a, c) { return !h || d && !i || (c = c || [], c = [a, c.slice ? c.slice() : c], b ? i.push(c) : j(c)), this }, fire: function () { return k.fireWith(this, arguments), this }, fired: function () { return !!d } }; return k }, m.extend({ Deferred: function (a) { var b = [["resolve", "done", m.Callbacks("once memory"), "resolved"], ["reject", "fail", m.Callbacks("once memory"), "rejected"], ["notify", "progress", m.Callbacks("memory")]], c = "pending", d = { state: function () { return c }, always: function () { return e.done(arguments).fail(arguments), this }, then: function () { var a = arguments; return m.Deferred(function (c) { m.each(b, function (b, f) { var g = m.isFunction(a[b]) && a[b]; e[f[1]](function () { var a = g && g.apply(this, arguments); a && m.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments) }) }), a = null }).promise() }, promise: function (a) { return null != a ? m.extend(a, d) : d } }, e = {}; return d.pipe = d.then, m.each(b, function (a, f) { var g = f[2], h = f[3]; d[f[1]] = g.add, h && g.add(function () { c = h }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function () { return e[f[0] + "With"](this === e ? d : this, arguments), this }, e[f[0] + "With"] = g.fireWith }), d.promise(e), a && a.call(e, e), e }, when: function (a) { var b = 0, c = d.call(arguments), e = c.length, f = 1 !== e || a && m.isFunction(a.promise) ? e : 0, g = 1 === f ? a : m.Deferred(), h = function (a, b, c) { return function (e) { b[a] = this, c[a] = arguments.length > 1 ? d.call(arguments) : e, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c) } }, i, j, k; if (e > 1) for (i = new Array(e), j = new Array(e), k = new Array(e); e > b; b++)c[b] && m.isFunction(c[b].promise) ? c[b].promise().done(h(b, k, c)).fail(g.reject).progress(h(b, j, i)) : --f; return f || g.resolveWith(k, c), g.promise() } }); var H; m.fn.ready = function (a) { return m.ready.promise().done(a), this }, m.extend({ isReady: !1, readyWait: 1, holdReady: function (a) { a ? m.readyWait++ : m.ready(!0) }, ready: function (a) { if (a === !0 ? !--m.readyWait : !m.isReady) { if (!y.body) return setTimeout(m.ready); m.isReady = !0, a !== !0 && --m.readyWait > 0 || (H.resolveWith(y, [m]), m.fn.triggerHandler && (m(y).triggerHandler("ready"), m(y).off("ready"))) } } }); function I() { y.addEventListener ? (y.removeEventListener("DOMContentLoaded", J, !1), a.removeEventListener("load", J, !1)) : (y.detachEvent("onreadystatechange", J), a.detachEvent("onload", J)) } function J() { (y.addEventListener || "load" === event.type || "complete" === y.readyState) && (I(), m.ready()) } m.ready.promise = function (b) { if (!H) if (H = m.Deferred(), "complete" === y.readyState) setTimeout(m.ready); else if (y.addEventListener) y.addEventListener("DOMContentLoaded", J, !1), a.addEventListener("load", J, !1); else { y.attachEvent("onreadystatechange", J), a.attachEvent("onload", J); var c = !1; try { c = null == a.frameElement && y.documentElement } catch (d) { } c && c.doScroll && !function e() { if (!m.isReady) { try { c.doScroll("left") } catch (a) { return setTimeout(e, 50) } I(), m.ready() } }() } return H.promise(b) }; var K = "undefined", L; for (L in m(k)) break; k.ownLast = "0" !== L, k.inlineBlockNeedsLayout = !1, m(function () { var a, b, c, d; c = y.getElementsByTagName("body")[0], c && c.style && (b = y.createElement("div"), d = y.createElement("div"), d.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(d).appendChild(b), typeof b.style.zoom !== K && (b.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", k.inlineBlockNeedsLayout = a = 3 === b.offsetWidth, a && (c.style.zoom = 1)), c.removeChild(d)) }), function () { var a = y.createElement("div"); if (null == k.deleteExpando) { k.deleteExpando = !0; try { delete a.test } catch (b) { k.deleteExpando = !1 } } a = null }(), m.acceptData = function (a) { var b = m.noData[(a.nodeName + " ").toLowerCase()], c = +a.nodeType || 1; return 1 !== c && 9 !== c ? !1 : !b || b !== !0 && a.getAttribute("classid") === b }; var M = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, N = /([A-Z])/g; function O(a, b, c) { if (void 0 === c && 1 === a.nodeType) { var d = "data-" + b.replace(N, "-$1").toLowerCase(); if (c = a.getAttribute(d), "string" == typeof c) { try { c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : M.test(c) ? m.parseJSON(c) : c } catch (e) { } m.data(a, b, c) } else c = void 0 } return c } function P(a) { var b; for (b in a) if (("data" !== b || !m.isEmptyObject(a[b])) && "toJSON" !== b) return !1; return !0 } function Q(a, b, d, e) { if (m.acceptData(a)) { var f, g, h = m.expando, i = a.nodeType, j = i ? m.cache : a, k = i ? a[h] : a[h] && h; if (k && j[k] && (e || j[k].data) || void 0 !== d || "string" != typeof b) return k || (k = i ? a[h] = c.pop() || m.guid++ : h), j[k] || (j[k] = i ? {} : { toJSON: m.noop }), ("object" == typeof b || "function" == typeof b) && (e ? j[k] = m.extend(j[k], b) : j[k].data = m.extend(j[k].data, b)), g = j[k], e || (g.data || (g.data = {}), g = g.data), void 0 !== d && (g[m.camelCase(b)] = d), "string" == typeof b ? (f = g[b], null == f && (f = g[m.camelCase(b)])) : f = g, f } } function R(a, b, c) { if (m.acceptData(a)) { var d, e, f = a.nodeType, g = f ? m.cache : a, h = f ? a[m.expando] : m.expando; if (g[h]) { if (b && (d = c ? g[h] : g[h].data)) { m.isArray(b) ? b = b.concat(m.map(b, m.camelCase)) : b in d ? b = [b] : (b = m.camelCase(b), b = b in d ? [b] : b.split(" ")), e = b.length; while (e--) delete d[b[e]]; if (c ? !P(d) : !m.isEmptyObject(d)) return } (c || (delete g[h].data, P(g[h]))) && (f ? m.cleanData([a], !0) : k.deleteExpando || g != g.window ? delete g[h] : g[h] = null) } } } m.extend({ cache: {}, noData: { "applet ": !0, "embed ": !0, "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" }, hasData: function (a) { return a = a.nodeType ? m.cache[a[m.expando]] : a[m.expando], !!a && !P(a) }, data: function (a, b, c) { return Q(a, b, c) }, removeData: function (a, b) { return R(a, b) }, _data: function (a, b, c) { return Q(a, b, c, !0) }, _removeData: function (a, b) { return R(a, b, !0) } }), m.fn.extend({ data: function (a, b) { var c, d, e, f = this[0], g = f && f.attributes; if (void 0 === a) { if (this.length && (e = m.data(f), 1 === f.nodeType && !m._data(f, "parsedAttrs"))) { c = g.length; while (c--) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = m.camelCase(d.slice(5)), O(f, d, e[d]))); m._data(f, "parsedAttrs", !0) } return e } return "object" == typeof a ? this.each(function () { m.data(this, a) }) : arguments.length > 1 ? this.each(function () { m.data(this, a, b) }) : f ? O(f, a, m.data(f, a)) : void 0 }, removeData: function (a) { return this.each(function () { m.removeData(this, a) }) } }), m.extend({ queue: function (a, b, c) { var d; return a ? (b = (b || "fx") + "queue", d = m._data(a, b), c && (!d || m.isArray(c) ? d = m._data(a, b, m.makeArray(c)) : d.push(c)), d || []) : void 0 }, dequeue: function (a, b) { b = b || "fx"; var c = m.queue(a, b), d = c.length, e = c.shift(), f = m._queueHooks(a, b), g = function () { m.dequeue(a, b) }; "inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire() }, _queueHooks: function (a, b) { var c = b + "queueHooks"; return m._data(a, c) || m._data(a, c, { empty: m.Callbacks("once memory").add(function () { m._removeData(a, b + "queue"), m._removeData(a, c) }) }) } }), m.fn.extend({ queue: function (a, b) { var c = 2; return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? m.queue(this[0], a) : void 0 === b ? this : this.each(function () { var c = m.queue(this, a, b); m._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && m.dequeue(this, a) }) }, dequeue: function (a) { return this.each(function () { m.dequeue(this, a) }) }, clearQueue: function (a) { return this.queue(a || "fx", []) }, promise: function (a, b) { var c, d = 1, e = m.Deferred(), f = this, g = this.length, h = function () { --d || e.resolveWith(f, [f]) }; "string" != typeof a && (b = a, a = void 0), a = a || "fx"; while (g--) c = m._data(f[g], a + "queueHooks"), c && c.empty && (d++ , c.empty.add(h)); return h(), e.promise(b) } }); var S = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, T = ["Top", "Right", "Bottom", "Left"], U = function (a, b) { return a = b || a, "none" === m.css(a, "display") || !m.contains(a.ownerDocument, a) }, V = m.access = function (a, b, c, d, e, f, g) { var h = 0, i = a.length, j = null == c; if ("object" === m.type(c)) { e = !0; for (h in c) m.access(a, b, h, c[h], !0, f, g) } else if (void 0 !== d && (e = !0, m.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function (a, b, c) { return j.call(m(a), c) })), b)) for (; i > h; h++)b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c))); return e ? a : j ? b.call(a) : i ? b(a[0], c) : f }, W = /^(?:checkbox|radio)$/i; !function () { var a = y.createElement("input"), b = y.createElement("div"), c = y.createDocumentFragment(); if (b.innerHTML = "
a", k.leadingWhitespace = 3 === b.firstChild.nodeType, k.tbody = !b.getElementsByTagName("tbody").length, k.htmlSerialize = !!b.getElementsByTagName("link").length, k.html5Clone = "<:nav>" !== y.createElement("nav").cloneNode(!0).outerHTML, a.type = "checkbox", a.checked = !0, c.appendChild(a), k.appendChecked = a.checked, b.innerHTML = "", k.noCloneChecked = !!b.cloneNode(!0).lastChild.defaultValue, c.appendChild(b), b.innerHTML = "", k.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, k.noCloneEvent = !0, b.attachEvent && (b.attachEvent("onclick", function () { k.noCloneEvent = !1 }), b.cloneNode(!0).click()), null == k.deleteExpando) { k.deleteExpando = !0; try { delete b.test } catch (d) { k.deleteExpando = !1 } } }(), function () { var b, c, d = y.createElement("div"); for (b in { submit: !0, change: !0, focusin: !0 }) c = "on" + b, (k[b + "Bubbles"] = c in a) || (d.setAttribute(c, "t"), k[b + "Bubbles"] = d.attributes[c].expando === !1); d = null }(); var X = /^(?:input|select|textarea)$/i, Y = /^key/, Z = /^(?:mouse|pointer|contextmenu)|click/, $ = /^(?:focusinfocus|focusoutblur)$/, _ = /^([^.]*)(?:\.(.+)|)$/; function ab() { return !0 } function bb() { return !1 } function cb() { try { return y.activeElement } catch (a) { } } m.event = { global: {}, add: function (a, b, c, d, e) { var f, g, h, i, j, k, l, n, o, p, q, r = m._data(a); if (r) { c.handler && (i = c, c = i.handler, e = i.selector), c.guid || (c.guid = m.guid++), (g = r.events) || (g = r.events = {}), (k = r.handle) || (k = r.handle = function (a) { return typeof m === K || a && m.event.triggered === a.type ? void 0 : m.event.dispatch.apply(k.elem, arguments) }, k.elem = a), b = (b || "").match(E) || [""], h = b.length; while (h--) f = _.exec(b[h]) || [], o = q = f[1], p = (f[2] || "").split(".").sort(), o && (j = m.event.special[o] || {}, o = (e ? j.delegateType : j.bindType) || o, j = m.event.special[o] || {}, l = m.extend({ type: o, origType: q, data: d, handler: c, guid: c.guid, selector: e, needsContext: e && m.expr.match.needsContext.test(e), namespace: p.join(".") }, i), (n = g[o]) || (n = g[o] = [], n.delegateCount = 0, j.setup && j.setup.call(a, d, p, k) !== !1 || (a.addEventListener ? a.addEventListener(o, k, !1) : a.attachEvent && a.attachEvent("on" + o, k))), j.add && (j.add.call(a, l), l.handler.guid || (l.handler.guid = c.guid)), e ? n.splice(n.delegateCount++, 0, l) : n.push(l), m.event.global[o] = !0); a = null } }, remove: function (a, b, c, d, e) { var f, g, h, i, j, k, l, n, o, p, q, r = m.hasData(a) && m._data(a); if (r && (k = r.events)) { b = (b || "").match(E) || [""], j = b.length; while (j--) if (h = _.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o) { l = m.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, n = k[o] || [], h = h[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), i = f = n.length; while (f--) g = n[f], !e && q !== g.origType || c && c.guid !== g.guid || h && !h.test(g.namespace) || d && d !== g.selector && ("**" !== d || !g.selector) || (n.splice(f, 1), g.selector && n.delegateCount-- , l.remove && l.remove.call(a, g)); i && !n.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || m.removeEvent(a, o, r.handle), delete k[o]) } else for (o in k) m.event.remove(a, o + b[j], c, d, !0); m.isEmptyObject(k) && (delete r.handle, m._removeData(a, "events")) } }, trigger: function (b, c, d, e) { var f, g, h, i, k, l, n, o = [d || y], p = j.call(b, "type") ? b.type : b, q = j.call(b, "namespace") ? b.namespace.split(".") : []; if (h = l = d = d || y, 3 !== d.nodeType && 8 !== d.nodeType && !$.test(p + m.event.triggered) && (p.indexOf(".") >= 0 && (q = p.split("."), p = q.shift(), q.sort()), g = p.indexOf(":") < 0 && "on" + p, b = b[m.expando] ? b : new m.Event(p, "object" == typeof b && b), b.isTrigger = e ? 2 : 3, b.namespace = q.join("."), b.namespace_re = b.namespace ? new RegExp("(^|\\.)" + q.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = d), c = null == c ? [b] : m.makeArray(c, [b]), k = m.event.special[p] || {}, e || !k.trigger || k.trigger.apply(d, c) !== !1)) { if (!e && !k.noBubble && !m.isWindow(d)) { for (i = k.delegateType || p, $.test(i + p) || (h = h.parentNode); h; h = h.parentNode)o.push(h), l = h; l === (d.ownerDocument || y) && o.push(l.defaultView || l.parentWindow || a) } n = 0; while ((h = o[n++]) && !b.isPropagationStopped()) b.type = n > 1 ? i : k.bindType || p, f = (m._data(h, "events") || {})[b.type] && m._data(h, "handle"), f && f.apply(h, c), f = g && h[g], f && f.apply && m.acceptData(h) && (b.result = f.apply(h, c), b.result === !1 && b.preventDefault()); if (b.type = p, !e && !b.isDefaultPrevented() && (!k._default || k._default.apply(o.pop(), c) === !1) && m.acceptData(d) && g && d[p] && !m.isWindow(d)) { l = d[g], l && (d[g] = null), m.event.triggered = p; try { d[p]() } catch (r) { } m.event.triggered = void 0, l && (d[g] = l) } return b.result } }, dispatch: function (a) { a = m.event.fix(a); var b, c, e, f, g, h = [], i = d.call(arguments), j = (m._data(this, "events") || {})[a.type] || [], k = m.event.special[a.type] || {}; if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) { h = m.event.handlers.call(this, a, j), b = 0; while ((f = h[b++]) && !a.isPropagationStopped()) { a.currentTarget = f.elem, g = 0; while ((e = f.handlers[g++]) && !a.isImmediatePropagationStopped()) (!a.namespace_re || a.namespace_re.test(e.namespace)) && (a.handleObj = e, a.data = e.data, c = ((m.event.special[e.origType] || {}).handle || e.handler).apply(f.elem, i), void 0 !== c && (a.result = c) === !1 && (a.preventDefault(), a.stopPropagation())) } return k.postDispatch && k.postDispatch.call(this, a), a.result } }, handlers: function (a, b) { var c, d, e, f, g = [], h = b.delegateCount, i = a.target; if (h && i.nodeType && (!a.button || "click" !== a.type)) for (; i != this; i = i.parentNode || this)if (1 === i.nodeType && (i.disabled !== !0 || "click" !== a.type)) { for (e = [], f = 0; h > f; f++)d = b[f], c = d.selector + " ", void 0 === e[c] && (e[c] = d.needsContext ? m(c, this).index(i) >= 0 : m.find(c, this, null, [i]).length), e[c] && e.push(d); e.length && g.push({ elem: i, handlers: e }) } return h < b.length && g.push({ elem: this, handlers: b.slice(h) }), g }, fix: function (a) { if (a[m.expando]) return a; var b, c, d, e = a.type, f = a, g = this.fixHooks[e]; g || (this.fixHooks[e] = g = Z.test(e) ? this.mouseHooks : Y.test(e) ? this.keyHooks : {}), d = g.props ? this.props.concat(g.props) : this.props, a = new m.Event(f), b = d.length; while (b--) c = d[b], a[c] = f[c]; return a.target || (a.target = f.srcElement || y), 3 === a.target.nodeType && (a.target = a.target.parentNode), a.metaKey = !!a.metaKey, g.filter ? g.filter(a, f) : a }, props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function (a, b) { return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (a, b) { var c, d, e, f = b.button, g = b.fromElement; return null == a.pageX && null != b.clientX && (d = a.target.ownerDocument || y, e = d.documentElement, c = d.body, a.pageX = b.clientX + (e && e.scrollLeft || c && c.scrollLeft || 0) - (e && e.clientLeft || c && c.clientLeft || 0), a.pageY = b.clientY + (e && e.scrollTop || c && c.scrollTop || 0) - (e && e.clientTop || c && c.clientTop || 0)), !a.relatedTarget && g && (a.relatedTarget = g === a.target ? b.toElement : g), a.which || void 0 === f || (a.which = 1 & f ? 1 : 2 & f ? 3 : 4 & f ? 2 : 0), a } }, special: { load: { noBubble: !0 }, focus: { trigger: function () { if (this !== cb() && this.focus) try { return this.focus(), !1 } catch (a) { } }, delegateType: "focusin" }, blur: { trigger: function () { return this === cb() && this.blur ? (this.blur(), !1) : void 0 }, delegateType: "focusout" }, click: { trigger: function () { return m.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : void 0 }, _default: function (a) { return m.nodeName(a.target, "a") } }, beforeunload: { postDispatch: function (a) { void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result) } } }, simulate: function (a, b, c, d) { var e = m.extend(new m.Event, c, { type: a, isSimulated: !0, originalEvent: {} }); d ? m.event.trigger(e, null, b) : m.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() } }, m.removeEvent = y.removeEventListener ? function (a, b, c) { a.removeEventListener && a.removeEventListener(b, c, !1) } : function (a, b, c) { var d = "on" + b; a.detachEvent && (typeof a[d] === K && (a[d] = null), a.detachEvent(d, c)) }, m.Event = function (a, b) { return this instanceof m.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? ab : bb) : this.type = a, b && m.extend(this, b), this.timeStamp = a && a.timeStamp || m.now(), void (this[m.expando] = !0)) : new m.Event(a, b) }, m.Event.prototype = { isDefaultPrevented: bb, isPropagationStopped: bb, isImmediatePropagationStopped: bb, preventDefault: function () { var a = this.originalEvent; this.isDefaultPrevented = ab, a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1) }, stopPropagation: function () { var a = this.originalEvent; this.isPropagationStopped = ab, a && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) }, stopImmediatePropagation: function () { var a = this.originalEvent; this.isImmediatePropagationStopped = ab, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation() } }, m.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (a, b) { m.event.special[a] = { delegateType: b, bindType: b, handle: function (a) { var c, d = this, e = a.relatedTarget, f = a.handleObj; return (!e || e !== d && !m.contains(d, e)) && (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c } } }), k.submitBubbles || (m.event.special.submit = { setup: function () { return m.nodeName(this, "form") ? !1 : void m.event.add(this, "click._submit keypress._submit", function (a) { var b = a.target, c = m.nodeName(b, "input") || m.nodeName(b, "button") ? b.form : void 0; c && !m._data(c, "submitBubbles") && (m.event.add(c, "submit._submit", function (a) { a._submit_bubble = !0 }), m._data(c, "submitBubbles", !0)) }) }, postDispatch: function (a) { a._submit_bubble && (delete a._submit_bubble, this.parentNode && !a.isTrigger && m.event.simulate("submit", this.parentNode, a, !0)) }, teardown: function () { return m.nodeName(this, "form") ? !1 : void m.event.remove(this, "._submit") } }), k.changeBubbles || (m.event.special.change = { setup: function () { return X.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (m.event.add(this, "propertychange._change", function (a) { "checked" === a.originalEvent.propertyName && (this._just_changed = !0) }), m.event.add(this, "click._change", function (a) { this._just_changed && !a.isTrigger && (this._just_changed = !1), m.event.simulate("change", this, a, !0) })), !1) : void m.event.add(this, "beforeactivate._change", function (a) { var b = a.target; X.test(b.nodeName) && !m._data(b, "changeBubbles") && (m.event.add(b, "change._change", function (a) { !this.parentNode || a.isSimulated || a.isTrigger || m.event.simulate("change", this.parentNode, a, !0) }), m._data(b, "changeBubbles", !0)) }) }, handle: function (a) { var b = a.target; return this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type ? a.handleObj.handler.apply(this, arguments) : void 0 }, teardown: function () { return m.event.remove(this, "._change"), !X.test(this.nodeName) } }), k.focusinBubbles || m.each({ focus: "focusin", blur: "focusout" }, function (a, b) { var c = function (a) { m.event.simulate(b, a.target, m.event.fix(a), !0) }; m.event.special[b] = { setup: function () { var d = this.ownerDocument || this, e = m._data(d, b); e || d.addEventListener(a, c, !0), m._data(d, b, (e || 0) + 1) }, teardown: function () { var d = this.ownerDocument || this, e = m._data(d, b) - 1; e ? m._data(d, b, e) : (d.removeEventListener(a, c, !0), m._removeData(d, b)) } } }), m.fn.extend({ on: function (a, b, c, d, e) { var f, g; if ("object" == typeof a) { "string" != typeof b && (c = c || b, b = void 0); for (f in a) this.on(f, b, c, a[f], e); return this } if (null == c && null == d ? (d = b, c = b = void 0) : null == d && ("string" == typeof b ? (d = c, c = void 0) : (d = c, c = b, b = void 0)), d === !1) d = bb; else if (!d) return this; return 1 === e && (g = d, d = function (a) { return m().off(a), g.apply(this, arguments) }, d.guid = g.guid || (g.guid = m.guid++)), this.each(function () { m.event.add(this, a, d, c, b) }) }, one: function (a, b, c, d) { return this.on(a, b, c, d, 1) }, off: function (a, b, c) { var d, e; if (a && a.preventDefault && a.handleObj) return d = a.handleObj, m(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this; if ("object" == typeof a) { for (e in a) this.off(e, b, a[e]); return this } return (b === !1 || "function" == typeof b) && (c = b, b = void 0), c === !1 && (c = bb), this.each(function () { m.event.remove(this, a, c, b) }) }, trigger: function (a, b) { return this.each(function () { m.event.trigger(a, b, this) }) }, triggerHandler: function (a, b) { var c = this[0]; return c ? m.event.trigger(a, b, c, !0) : void 0 } }); function db(a) { var b = eb.split("|"), c = a.createDocumentFragment(); if (c.createElement) while (b.length) c.createElement(b.pop()); return c } var eb = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", fb = / jQuery\d+="(?:null|\d+)"/g, gb = new RegExp("<(?:" + eb + ")[\\s/>]", "i"), hb = /^\s+/, ib = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, jb = /<([\w:]+)/, kb = /\s*$/g, rb = { option: [1, ""], legend: [1, ""], area: [1, ""], param: [1, ""], thead: [1, "
Là một người nội trợ hiện đại, tôi tin rằng: thiết bị nhà bếp không chỉ cần tiện dụng mà còn phải tinh tế, tiết kiệm không gian và dễ dùng. Đó là lý do tôi chọn lò vi sóng âm tủ cho căn bếp của mình – và tôi chắc chắn bạn cũng sẽ thấy đó là một quyết định đúng đắn.
Nhưng để chọn đúnglò vi sóng âm tủ, bạn cần nắm rõ một vài nguyên tắc. Và trong bài viết này, tôi sẽ chia sẻ đầy đủ – dưới góc nhìn của một người đã dùng qua, tìm hiểu kỹ và có kinh nghiệm lựa chọn.
🔍 Lò vi sóng âm tủ là gì? Và tại sao nên dùng?
Lò vi sóng âm tủ là loại được thiết kế gắn âm vào tủ bếp hoặc tường, tạo sự liền mạch với không gian. Khác với lò để bàn, lò âm tủ giúp:
Tiết kiệm diện tích mặt bếp
Tăng tính thẩm mỹ, hiện đại
An toàn hơn cho nhà có trẻ nhỏ vì lò đặt cao hơn tầm với
Một chiếc lò vi sóng âm tủ sẽ biến căn bếp của bạn trở nên hiện đại, gọn gàng và chuyên nghiệp hơn rất nhiều. Nhưng để đạt được hiệu quả tối ưu, hãy chọn theo đúng nhu cầu và không gian thực tế – chứ đừng chạy theo mẫu mã quảng cáo quá đà.
Vì là một bà nội trợ thông minh, bạn không chỉ nấu ăn ngon – mà còn biết cách chọn thiết bị để bữa cơm mỗi ngày trở nên nhẹ nhàng, nhanh gọn và đầy cảm hứng.
Lò vi sóng có nấu được thức ăn không ?
Lò vi sóng có thể nấu được hầu hết các loại thực phẩm như: nấu cơm, nấu xôi, làm thịt xông khói, luộc rau củ quả,... đảm bảo thức ăn luôn được chín đều. Tùy vào từng loại món ăn, bạn lựa chọn thời gian và công suất thích hợp để nấu. Tuy nhiên, nấu bằng lò vi sóng thường không được ngon bằng nấu thông thường và thức ăn bị giảm chất lượng dinh dưỡng.
Lò vi sóng âm tủ có tốt hơn lò vi sóng để bàn không ?
Có. Bởi lò vi sóng âm tủ có những ưu điểm vượt trội hơn những dòng lò vi sóng để bàn ở chỗ: thiết kế đẹp mắt hài hòa với phòng bếp hơn; có dung tích thường lớn hơn khá nhiều so với những dòng lò vi sóng để bàn, do đó có thể đáp ứng được nhu cầu nấu ăn với số lượng lớn trong cùng 1 lúc; thiết kế hiện đại hơn rất nhiều so với các dòng máy hút mùi khác, duy trì nhiệt độ nấu ổn định và có khả năng đạt nhiệt độ cao hơn, do đó món ăn được nấu bằng lò vi sóng âm thường ngon hơn so với việc nấu bằng lò vi sóng để bàn.
Dùng lò vi sóng có tốt không ? Có ảnh hưởng đến sức khỏe không ?
Dùng lò vi sóng hoàn toàn tốt và an toàn nếu bạn sử dụng đúng cách và chọn thực phẩm, vật dụng phù hợp. Dưới đây là phân tích chi tiết về lợi ích, lo ngại và cách dùng an toàn:
✅ Lợi ích khi dùng lò vi sóng
⚡ 1. Nhanh chóng & tiện lợi
Hâm nóng, rã đông, nấu thức ăn trong vài phút
Không cần chảo, nồi → ít tốn công rửa
🍲 2. Giữ được dinh dưỡng
Nấu nhanh, ít nước → giữ vitamin (đặc biệt là B & C) tốt hơn so với luộc/ninh lâu
🧼 3. An toàn khi dùng đúng cách
Lò vi sóng không làm nhiễm xạ thực phẩm
Không gây ung thư như một số tin đồn thất thiệt
🔌 4. Tiết kiệm điện năng (so với việc dùng bếp để hâm đồ ăn)
⚠️ Lo ngại thường gặp – và sự thật
Lo ngại thường gặp
Sự thật khoa học
"Lò vi sóng gây ung thư"
❌ Sai. Sóng vi ba không làm thay đổi cấu trúc ADN
"Sóng vi ba còn lưu lại trong thức ăn"
❌ Không đúng. Sóng mất ngay khi lò ngừng hoạt động
"Lò vi sóng làm biến chất thực phẩm"
❌ Không chính xác. Nấu đúng cách không làm mất dinh dưỡng đáng kể
🛑 Những điều KHÔNG nên làm
Không dùng đồ kim loại, giấy bạc nếu không có hướng dẫn rõ
Không đun trứng nguyên vỏ, chất lỏng trong chai kín → dễ nổ
Dùng dụng cụ thủy tinh, sứ, nhựa có nhãn "microwave safe"
Đậy nắp có lỗ khi hâm để tránh văng & giữ ẩm
Không bật lò trống (dễ hỏng lò)
Vệ sinh định kỳ để tránh ám mùi, vi khuẩn
👉 Kết luận: Lò vi sóng rất tốt và an toàn nếu dùng đúng cách. Nó là thiết bị cực kỳ tiện lợi cho mọi gian bếp hiện đại.
Giấy bạc có cho vào lò vi sóng được không ?
Giấy bạc (hay giấy nhôm) không nên cho vào lò vi sóng, trừ một số trường hợp đặc biệt và có kiểm soát kỹ lưỡng. Dưới đây là giải thích chi tiết:
⚠️ Vì sao giấy bạc nguy hiểm trong lò vi sóng?
Kim loại phản xạ sóng vi ba, làm sóng không xuyên qua được → gây tia lửa điện, cháy nổ hoặc hư hỏng lò vi sóng.
Có thể gây hiện tượng phóng tia lửa (như sét nhỏ trong lò).
Gây nóng cục bộ, dễ cháy khét thức ăn hoặc hư lò.
✅ Khi nào có thể dùng giấy bạc trong lò vi sóng (rất hạn chế):
Chỉ nên áp dụng nếu nhà sản xuất lò vi sóng cho phép và bạn tuân thủ đúng hướng dẫn.
Dùng một miếng giấy bạc nhỏ, không chạm vào thành lò, để che phần đầu cánh gà, viền bánh giúp tránh khô cháy khi quay lâu.
Giấy bạc không được gấp nhăn, không được ôm kín toàn bộ thực phẩm.
Không sử dụng nếu lò vi sóng có chế độ nướng đối lưu bằng điện trở, vì giấy bạc sẽ làm chập cháy.
❌ Tuyệt đối KHÔNG nên dùng giấy bạc nếu:
Bạn không chắc lò vi sóng có hỗ trợ dùng kim loại.
Dùng để bọc toàn bộ thực phẩm (ngăn sóng vào thức ăn).
Giấy bạc bị gấp mép, nhăn nhúm → dễ tạo tia lửa.
Lò đang quay công suất cao trong thời gian dài.
✅ Thay thế an toàn:
Dùng màng bọc thực phẩm chuyên dùng cho lò vi sóng (loại chịu nhiệt).
Dùng nắp đậy nhựa có lỗ thoát hơi.
Dùng dĩa, tô thủy tinh, gốm sứ có nhãn "microwave safe".
👉 Kết luận: Không nên cho giấy bạc vào lò vi sóng, trừ khi bạn rất hiểu rõ cách dùng và lò cho phép. Nếu không chắc chắn, hãy chọn vật dụng an toàn như thủy tinh hoặc nhựa chịu nhiệt.
Những thứ gì không được cho vào lò vi sóng ?
Dưới đây là danh sách những thứ tuyệt đối KHÔNG nên cho vào lò vi sóng, vì có thể gây cháy nổ, nhiễm độc thực phẩm hoặc làm hỏng lò:
⚠️ 1. Kim loại (nhôm, inox, thìa, nĩa, dao…)
Gây tia lửa điện, có thể làm chập cháy hoặc hỏng lò.
Không nên dùng giấy bạc, khay nướng kim loại, vỉ nướng trừ khi hướng dẫn lò cho phép.
⚠️ 2. Đồ dùng không chịu nhiệt hoặc không có nhãn "Microwave Safe"
Nhựa rẻ tiền, melamine, hộp xốp → chảy nhựa, nhiễm độc vào thức ăn.
Gây mùi nhựa cháy và ảnh hưởng sức khỏe.
⚠️ 3. Trứng nguyên vỏ / trứng luộc
Lòng đỏ lòng trắng bị gia nhiệt không đều → tăng áp suất và dễ nổ trong lò.
⚠️ 4. Đồ uống, chất lỏng trong chai/lọ/bình kín
Không có chỗ thoát hơi → dễ nổ tung (đặc biệt là chai thủy tinh có nắp kín).
Cũng nguy hiểm với súp, sữa nếu đậy nắp kín.
⚠️ 5. Ớt tươi / đồ ăn cay nóng
Ớt khi quay nóng có thể bốc hơi capsaicin (chất cay) gây kích ứng mắt và mũi mạnh khi mở cửa lò.
⚠️ 6. Thực phẩm đóng hộp (chưa mở nắp)
Hộp kim loại kín khí → nổ trong lò vì không có chỗ thoát áp suất.
⚠️ 7. Túi giấy nâu / hộp giấy carton thông thường
Không có lớp chống cháy → bốc cháy rất nhanh.
Khác với túi giấy chuyên dùng cho lò vi sóng (rất hiếm).
⚠️ 8. Nho hoặc trái cây nhỏ, có vỏ dày
Dễ bị "nổ vi sóng" vì nhiệt độ trong lõi tăng đột ngột → trái cây phát nổ, phun tung tóe.
✅ Tóm tắt: Không cho vào lò vi sóng:
Không nên cho vào
Vì sao
Kim loại (thìa, giấy bạc...)
Gây tia lửa, cháy lò
Nhựa rẻ tiền, xốp, melamine
Chảy nhựa, độc hại
Trứng còn vỏ
Dễ nổ
Đồ hộp chưa mở
Áp suất tăng, gây nổ
Ớt tươi
Bay hơi cay, gây khó chịu
Bình kín, chai kín hơi
Không thoát áp, dễ nổ
Trái cây nguyên vỏ nhỏ (nho, cà chua)
Tăng áp bên trong, dễ nổ
Bạn muốn dùng lò vi sóng để nấu món gì hoặc hâm gì thường xuyên? Mình có thể gợi ý dụng cụ và cách dùng an toàn phù hợp.
Bệnh lò vi sóng là gì ?
"Bệnh lò vi sóng" không phải là một thuật ngữ y học chính thống, nhưng nó thường được dùng trong đời sống (hoặc trên mạng) để mô tả một số hiểu lầm, lo ngại sức khỏe liên quan đến việc sử dụng lò vi sóng. Dưới đây là hai khía cạnh mà người ta hay nhắc tới:
⚠️ 1. "Bệnh lò vi sóng" theo nghĩa lo sợ về sức khỏe (hiểu sai)
Một số người dùng thuật ngữ này để nói về các vấn đề sức khỏe như đau đầu, chóng mặt, mệt mỏi... khi sống gần lò vi sóng hoặc dùng thường xuyên, nhưng điều này chưa được khoa học chứng minh.
❌ Sự thật:
Sóng vi ba của lò vi sóng là bức xạ không ion hóa (không phá vỡ ADN, không gây ung thư).
Lò vi sóng được thiết kế để cách ly sóng hoàn toàn bằng lưới chắn và lớp vỏ kim loại.
Nếu lò bị hở, nứt cửa, méo khung, có thể rò rỉ vi ba → lúc này nên kiểm tra hoặc thay mới.
🛠️ 2. "Bệnh" theo nghĩa máy bị hỏng / trục trặc (dân kỹ thuật hay gọi)
Lò vi sóng có thể gặp một số sự cố phổ biến, được người dùng gọi vui là "bệnh":
Triệu chứng
Nguyên nhân phổ biến
Máy không nóng dù đèn vẫn sáng
Hỏng tụ, hỏng magnetron, đứt cầu chì cao áp
Không lên nguồn
Cháy cầu chì, hỏng bo mạch, dây nguồn lỏng
Phát tia lửa / nổ lách tách khi quay
Có kim loại, vụn nhôm trong lò
Quay chậm, không đều
Hỏng mô-tơ đĩa xoay
Có mùi khét hoặc lò bị ám mùi nặng
Do thức ăn cháy khét, cần vệ sinh kỹ
✅ Cách tránh rủi ro và đảm bảo an toàn khi dùng lò vi sóng:
Không dùng vật liệu kim loại / giấy bạc
Dùng đồ nhựa, sứ, thủy tinh có nhãn "Microwave Safe"
Không dùng lò khi cửa bị cong, méo, hở
Vệ sinh định kỳ để tránh mùi và cháy thực phẩm
Không bật lò trống (không có gì bên trong)
👉 Kết luận: “Bệnh lò vi sóng” là cách gọi không chính thức, chủ yếu là lo ngại không có cơ sở khoa học hoặc sự cố kỹ thuật khi dùng sai cách. Nếu bạn sử dụng đúng hướng dẫn, lò vi sóng hoàn toàn an toàn và tiện lợi.
Cách sử dụng chế độ rã đông của lò vi sóng
Chế độ rã đông (Defrost) trên lò vi sóng giúp làm tan thực phẩm đông lạnh một cách nhanh chóng và an toàn bằng cách dùng công suất thấp để không nấu chín bề mặt ngoài trước khi bên trong tan đá.
✅ Cách hoạt động của chế độ rã đông
Lò vi sóng phát sóng ở công suất thấp (khoảng 100–300W), vừa đủ để làm tan đá mà không nấu chín thực phẩm.
Tác động chủ yếu lên nước → nước đá trong thực phẩm hấp thụ nhiệt và tan ra từ ngoài vào trong.
🔧 Cách sử dụng chế độ rã đông
📍 Tùy vào loại lò vi sóng:
Lò có nút “Defrost” (Rã đông tự động):
Nhấn Defrost.
Nhập trọng lượng thực phẩm (thường tính bằng gam hoặc pound).
Máy tự tính thời gian và công suất phù hợp.
Lò vi sóng cơ (dạng xoay núm):
Vặn núm công suất về mức thấp nhất.
Chọn thời gian từ 2–10 phút tùy loại thực phẩm.
🧊 Gợi ý thời gian rã đông tham khảo:
Thực phẩm
Khối lượng
Thời gian rã đông (tương đối)
Thịt bò / thịt heo miếng
500g
7–10 phút
Gà nguyên con nhỏ
1kg
15–20 phút
Tôm / cá
300g
4–6 phút
Bánh mì đông lạnh
1 ổ
1–2 phút
⚠️ Lưu ý khi rã đông bằng lò vi sóng:
Không để thực phẩm đóng kín túi nilon, phải cắt bỏ lớp bao bì đông lạnh.
Lật và đảo mặt giữa quá trình rã đông để tan đều.
Nếu thấy chỗ nào chín nhẹ, hãy ngưng rã đông, để tan tự nhiên tiếp.
Sau khi rã đông, nên nấu ngay để tránh vi khuẩn phát triển.
✅ Mẹo hay:
Dùng đĩa hoặc tô sứ/thủy tinh để đựng thực phẩm khi rã đông.
Nếu rã đông bánh mì hoặc đồ khô, có thể bọc khăn giấy mỏng để giữ độ ẩm.
Bạn đang muốn rã đông loại thực phẩm nào? Mình có thể hướng dẫn cụ thể về thời gian và cách đặt công suất phù hợp.
Cách làm sạch lò vi sóng ?
Làm sạch lò vi sóng đúng cách giúp loại bỏ mùi hôi, dầu mỡ, vi khuẩn và duy trì tuổi thọ thiết bị. Dưới đây là các cách đơn giản, an toàn và hiệu quả:
✅ Cách 1: Dùng nước + chanh (hoặc giấm) – Hiệu quả & khử mùi tốt
🌿 Nguyên liệu:
1 quả chanh (hoặc 2–3 muỗng canh giấm trắng)
1 bát nước chịu nhiệt
Khăn mềm, miếng xốp lau
🔧 Cách làm:
Cắt chanh, vắt lấy nước + vỏ bỏ vào bát nước.
Đặt bát vào lò vi sóng, quay ở công suất cao trong 3–5 phút đến khi nước sôi và bốc hơi.
Để yên trong lò 2–3 phút (hơi nước làm mềm vết bẩn).
Mở lò, dùng khăn sạch lau toàn bộ bên trong (kể cả trần lò và đĩa xoay).
Rửa đĩa xoay bằng nước rửa chén như bình thường.
✅ Cách 2: Dùng baking soda (tẩy mạnh, khử mùi tốt)
⚗️ Nguyên liệu:
2 muỗng baking soda
1 bát nước
Khăn sạch
👣 Cách làm:
Hòa baking soda vào bát nước, quay trong lò 3–5 phút.
Hơi nước có tính kiềm giúp làm mềm vết dầu mỡ.
Dùng khăn lau sạch bên trong.
Có thể pha thêm 1 ít baking soda + nước tạo thành hỗn hợp sệt để chà những vết bẩn cứng đầu.
✅ Cách 3: Dùng nước rửa chén (nhẹ nhàng hằng ngày)
Pha nước rửa chén loãng trong bát nước, quay 2–3 phút cho bốc hơi.
Lau lại bằng khăn ẩm → thích hợp với vết bẩn nhẹ hằng ngày.
❌ Những điều KHÔNG nên làm khi vệ sinh lò vi sóng:
Không dùng chất tẩy rửa mạnh chứa clo hoặc ammoniac → ăn mòn linh kiện.
Không xịt nước hoặc chất lỏng trực tiếp vào khe thông gió hoặc bảng điều khiển.
Không dùng miếng chà xoong kim loại dễ làm trầy lớp chống dính.
📌 Mẹo duy trì lò luôn sạch:
Dùng nắp đậy chuyên dụng khi hâm đồ ăn.
Vệ sinh ít nhất 1 lần/tuần nếu dùng thường xuyên.
Khử mùi định kỳ bằng chanh hoặc giấm.
Bạn muốn làm sạch lò vi sóng sau khi hâm món gì (mùi cá, thịt, dầu mỡ…)? Mình có thể gợi ý cách khử mùi và vệ sinh phù hợp hơn.
TỔNG ĐÀI BÁN HÀNG : 1800.1161 (8:00 - 21:00) - Miễn phí